// 云翼信测试环境配置
// 注意：这些是测试环境参数，生产环境需要替换

const testConfig = {
    // 云翼信测试环境参数
    yunyx: {
        siid: "TEST123",                      // 客户编号 - 示例值（实际使用需要真实分配值）
        user: "fswgEE",                       // HTTP账号 - 来自文档示例
        secretKey: "testSecretKey",           // 接口密钥 - 来自文档示例（实际使用时需要真实密钥）
        
        // 测试手机号 - 请替换为真实的测试手机号
        testMobile: "13312344889",            // 来自文档示例的格式，填入完整手机号
        
        // 云翼信测试服务器地址
        apiUrl: "https://yyx.saas.189.cn:8070/jt3netsmsservicehttp/httpservices/capService",
        
        // 扩展码（可选）
        extcode: "123",                       // 来自文档示例
        
        // 短信签名
        signature: "【签名】"                 // 来自文档示例
    },
    
    // 环境标识
    environment: "test",
    
    // 调试模式
    debug: true,
    
    // 请求超时时间（毫秒）
    timeout: 30000
};

// 生产环境配置 - 使用环境变量（推荐）
const prodConfig = {
    yunyx: {
        // 从环境变量读取敏感信息
        siid: process.env.YUNYX_SIID || "",
        user: process.env.YUNYX_USER || "", 
        secretKey: process.env.YUNYX_SECRET_KEY || "",
        
        // 生产环境手机号（可选）
        testMobile: process.env.YUNYX_TEST_MOBILE || "",
        
        // 生产环境API地址
        apiUrl: process.env.YUNYX_API_URL || "https://yyx.saas.189.cn:8070/jt3netsmsservicehttp/httpservices/capService",
        
        // 扩展码
        extcode: process.env.YUNYX_EXTCODE || "123",
        
        // 短信签名
        signature: process.env.YUNYX_SIGNATURE || "【您的签名】"
    },
    environment: "production",
    debug: false,
    timeout: 30000
};

// 根据环境变量选择配置
const currentConfig = process.env.NODE_ENV === 'production' ? prodConfig : testConfig;

// 验证生产环境必需参数
if (process.env.NODE_ENV === 'production') {
    const requiredEnvVars = ['YUNYX_SIID', 'YUNYX_USER', 'YUNYX_SECRET_KEY'];
    const missingVars = requiredEnvVars.filter(varName => !process.env[varName]);
    
    if (missingVars.length > 0) {
        console.error('❌ 生产环境缺少必需的环境变量:');
        missingVars.forEach(varName => {
            console.error(`   - ${varName}`);
        });
        console.error('\n请设置这些环境变量后再启动应用程序');
        process.exit(1);
    }
}

module.exports = {
    testConfig,
    prodConfig,
    currentConfig
}; 